library(tidyverse)
library(plotly)
library(factoextra)
pstats <- read.csv("../pokemon.csv")
pstats %>% pivot_longer(.,c(HP,Attack,Defence,Sp_attack,Sp_defence,Speed),names_to = "stat") %>% ggplot(aes(x=stat,y=value, fill=stat)) + geom_boxplot() -> p
ggplotly(p)
pstats %>% select(HP,Attack,Defence,Sp_attack,Sp_defence,Speed) %>% prcomp() -> pca_poke
pcpoke <- pca_poke$x
pcpoke <- cbind(as.data.frame(pcpoke),nombre=pstats$Name)
pcpoke %>% ggplot(aes(x=PC1,y=PC2, color=PC3, text=nombre)) + geom_point() -> p
ggplotly(p)
plot_ly(pcpoke, x= ~PC1, y= ~PC2, z= ~PC3, color = ~PC4, text= ~nombre)
No trace type specified:
Based on info supplied, a 'scatter3d' trace seems appropriate.
Read more about this trace type -> https://plotly.com/r/reference/#scatter3d
No scatter3d mode specifed:
Setting the mode to markers
Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode
No trace type specified:
Based on info supplied, a 'scatter3d' trace seems appropriate.
Read more about this trace type -> https://plotly.com/r/reference/#scatter3d
No scatter3d mode specifed:
Setting the mode to markers
Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode
fviz_pca_var(pca_poke, col.var = "contrib", gradient.cols=c("#00AFBB","#E7B800","#FC4E07"), repel=TRUE) -> p
p

LS0tDQp0aXRsZTogIlBva2Vtb24gU3RhdHMiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KHBsb3RseSkNCmxpYnJhcnkoZmFjdG9leHRyYSkNCmBgYA0KDQpgYGB7cn0NCnBzdGF0cyA8LSByZWFkLmNzdigiLi4vcG9rZW1vbi5jc3YiKQ0KYGBgDQoNCmBgYHtyfQ0KcHN0YXRzICU+JSBwaXZvdF9sb25nZXIoLixjKEhQLEF0dGFjayxEZWZlbmNlLFNwX2F0dGFjayxTcF9kZWZlbmNlLFNwZWVkKSxuYW1lc190byA9ICJzdGF0IikgJT4lIGdncGxvdChhZXMoeD1zdGF0LHk9dmFsdWUsIGZpbGw9c3RhdCkpICsgZ2VvbV9ib3hwbG90KCkgLT4gcA0KZ2dwbG90bHkocCkNCmBgYA0KDQoNCg0KYGBge3J9DQpwc3RhdHMgJT4lIHNlbGVjdChIUCxBdHRhY2ssRGVmZW5jZSxTcF9hdHRhY2ssU3BfZGVmZW5jZSxTcGVlZCkgJT4lIHByY29tcCgpIC0+IHBjYV9wb2tlDQpwY3Bva2UgPC0gcGNhX3Bva2UkeA0KcGNwb2tlIDwtIGNiaW5kKGFzLmRhdGEuZnJhbWUocGNwb2tlKSxub21icmU9cHN0YXRzJE5hbWUpDQpwY3Bva2UgJT4lIGdncGxvdChhZXMoeD1QQzEseT1QQzIsIGNvbG9yPVBDMywgdGV4dD1ub21icmUpKSArIGdlb21fcG9pbnQoKSAtPiBwDQpnZ3Bsb3RseShwKQ0KYGBgDQoNCg0KYGBge3J9DQpwbG90X2x5KHBjcG9rZSwgeD0gflBDMSwgeT0gIH5QQzIsIHo9IH5QQzMsIGNvbG9yID0gflBDNCwgdGV4dD0gfm5vbWJyZSkNCmBgYA0KDQoNCmBgYHtyfQ0KZnZpel9wY2FfdmFyKHBjYV9wb2tlLCBjb2wudmFyID0gImNvbnRyaWIiLCBncmFkaWVudC5jb2xzPWMoIiMwMEFGQkIiLCIjRTdCODAwIiwiI0ZDNEUwNyIpLCByZXBlbD1UUlVFKSAtPiBwDQpwDQpgYGANCg0K